• repo
  • readme
  • stackblitz

mzalendo

View on Github
.

mzalendo
.
B

Languages

  • .
  • .
  • .
  • TypeScript97.0%
  • CSS3.0%
  • HTML0.1%

mzalendo readme

Mzalendo

Mzalendo is a civic education platform for Kenyans: explore wards, constituencies, and counties with PostGIS-backed geography, see who represents you (MCA, MP, governor) at the right level, and—when you sign in with Google—contribute short community blurbs, votes, and proposed data fixes that moderators review.

The repo is a pnpm workspace orchestrated with Vite+ (vp run for multi-package tasks). Frontend lives in apps/site (TanStack Router); API in apps/api. See VISION.md for product direction and ARCHITECTURE.md for technical design. To restore an older Turborepo layout, see docs/turborepo-revert-notes.md.

Docs

  • VISION.md — problems, principles, phases, success metrics.
  • ARCHITECTURE.md — stack, PostGIS model, auth, APIs, rate limits, migration from the old template.

Development

This project uses Vite+ (vp) as the unified toolchain (see AGENTS.md).

vp install
vp dev

Use vp check for format, lint, and TypeScript checks; vp test for tests.

Workspace layout

Path Role
apps/site Public civic UI; optional Google sign-in for contributions
apps/api JSON API, spatial queries, moderation
packages/* Shared libraries and config

Data accuracy

Ward boundary data is sourced from tigawanna/kenyawardsgeojson_data and relies heavily on crowdsourced contributions. Exact precision of boundaries may vary — if you spot an inaccuracy, please open an issue or submit a data-fix proposal through the platform.

Hat tip

  • tigawanna/kenyawardsgeojson_data — GeoJSON ward boundaries for all 1,450+ wards established by the 2010 constitution and adopted in the 2019 census.